Đây là Giao diện tính toán đa dạng cho khả năng di động (HIP) cung cấp một API thời gian chạy C++ để trừu tượng hóa các lớp phần cứng, mang lại một cơ sở mã thống nhất cho cả GPU NVIDIA và AMD. Con đường này loại bỏ hiện tượng bị khóa vào nhà cung cấp bằng cách mô phỏng môi trường CUDA trong khi hướng tới nền tảng ROCm nền tảng.
1. Cấu hình môi trường
Khởi tạo bắt đầu bằng việc thiết lập các biến môi trường để chỉ định trình biên dịch hipcc trình biên dịch đến công cụ phù hợp:
$ export PATH=$PATH:[MYHIP]/bin
2. Chuẩn hóa công cụ xây dựng
Đây là hipcc trình biên dịch hoạt động như một bao thông minh. Để tự động hóa quá trình xây dựng, logic HIP_PATH ?= $(shell hipconfig --path) giúp file Makefile của bạn tìm kiếm cài đặt HIP một cách động, bất kể cấu hình hệ thống.
3. Logic phiên bản
HIP sử dụng một công thức phiên bản xác định để xử lý khả năng sử dụng tính năng một cách có chương trình qua các phiên bản phát hành:
$$\text{HIP\_VERSION} = \text{HIP\_VERSION\_MAJOR} \times 10^7 + \text{HIP\_VERSION\_MINOR} \times 10^5 + \text{HIP\_VERSION\_PATCH}$$
4. Các tương đương về thời gian chạy chính
HIP cung cấp hipMalloc và hipLaunchKernel như các bản sao chức năng cho các lời gọi bộ nhớ và thực thi của CUDA, giúp thúc đẩy triết lý phát triển "nguồn duy nhất".